Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші
Група:
СІ-22

Частина тексту файла

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт до лабораторної роботи № 2 ПРЯМІ ТА ІТЕРАЦІЙНІ МЕТОДИ РОЗВ’ЯЗУВАННЯ СИСТЕМ ЛІНІЙНИХ АЛГЕБРИЧНИХ РІВНЯНЬ з курсу “Комп’ютерні методи дослідження систем керування” Мета роботи: вивчити найпоширеніші прямі та ітераційні методи розв’язування систем лінійних алгебричних рівнянь та способи їх застосування для обчислення визначників і обертання матриць. Загальний алгоритм методу Гауса з вибором головного елемента по стовпцю для    для  стовпцеві сортування  для   для  ;    Прямий хід: стовпцеві сортування ;  для  якщо   {; } ; ;  для  ; ;     для     Оберне-ний хід: Опис алгоритму Прямий хід методу. Резервуємо (копіюємо) базові матриці  та  у відповідні матриці  та . Вхідні матриці  та  нам необхідні для кінцевої перевірки результату. Протягом виконання алгоритму ми працюємо з копіями вхідних матриць. Далі в трьох циклах виконується перетворення початкової матриці  до трикутного вигляду матриці  та відповідне перетворення правих частин системи . Зазначимо, що на кожному кроці першого циклу по змінній  виконуємо процедуру стовпцевого сортування по головним елементам. Тобто, відшукуємо максимальне значення по модулю головного елемента, а потім міняємо місцями рядки в матриці  та  (копії матриці  та ). Змінна  визначає номер рядка головного елемента, а  використовується як проміжна змінна. Обернений хід. Спершу присвоюємо значення для останнього невідомого , а потім в циклі відшукуємо усі решта невідомі. Для перевірки вірності роботи алгоритму підставляємо наші знайдені  в систему (1.1). Обчислені ліві частини рівнянь повинні відповідати правим значенням елементів вектора . Завдання до лабораторної роботи. Варіант номер 2. 2 Розв’язати систему рівнянь методом Гауса з вибором головного елемента по стовпцю система №1  Система №1  Список ідентифікаторів констант, змінних, функцій, методів, використаних у програмі, та їх пояснення. #include <vcl.h> - бібліотека візуальних компонентів; A[][],B[] – матриці з вхідними данними; V[][],P[] – матрицы для математичних перетворень; X[] – розв’язок системи; C[] – отримана трикутна матриця; I,j,k,l,d,w,value – проміжні змінні для використання у циклах і пере присвоєннях; max – максимальний елемент; Остаточна версія програми. #include <vcl.h> #pragma hdrstop #include "Unit1.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {} void __fastcall TForm1::Button1Click(TObject *Sender) { int n=4; double A[4][4]={{8.3,2.62+0.2*2,4.1,1.9},{3.92,8.45,7.78-0.2*2,2.46}, {3.77,7.21+0.2*2,8.04,2.28},{2.21,3.65-0.2*2,1.69,6.69}}; double B[4]={-10.65+0.02*21,12.21,15.45-0.02*21,-8.35}; double V[4][4],C[4][4],P[4],X[4],Y[4]; double max,value; int w; for (int i=0;i<n;i++) { P[i]=B[i]; for (int j=0;j<n;j++) { V[i][j]=A[i][j]; } } for (int k=0;k<n;k++) { max=abs(V[k][k]); w=k; for (int l=k+1;l<n;l++) { if (max<abs(V[l][k])) { max=abs(V[l][k]); w=l; } } value=P[k]; P[k]=P[w]; P[w]=value; for (int d=1;d<n;d++) { value=V[k][d]; V[k][d]=V[w][d]; V[w][d]=value; } Y[k]=P[k]/V[k][k]; for (int i=k+1;i<n;i++) {P[i]+=-V[i][k]*Y[k]; for (int j=k+1;j<n;j++) { C[k][j]=V[k][j]/V[k][k]; V[i][j]+=-V[i][k]*C[k][j]; }}} for (int i=0;i<n;i++) X[i]=0; X[n-1]=Y[n-1]; for(int i=n-2;i>=0;i--) {for (int j=i+1;j<n;j++) X[i]+=C[i][j]*X[j]; X[i]=Y[i]-X[i];} Memo1->Lines->Clear(); Memo1->Lines->Add("Rozvyazok systemy X[]"); for (int i=0; i<n; i++) Memo1->Lines->Add(X[i]); Memo1->Lines->Add(""); Memo1->Lines->Add("Perevirka vuvid B...
Антиботан аватар за замовчуванням

30.11.2012 00:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини